/*********************************
*-- 33 KDH Knieja ---------------*
*-- im. Harcerzy Września 1939 --*
*-- autor: Marcin Rzepisko ------*
*-- data: 2013-11-10 ------------*
**********************************/

package net.kdh.knieja.kontroler.narzedzia;

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.Calendar;
import java.util.Random;
import net.kdh.knieja.model.wspolne.wyjatki.BladAplikacjiWyjatek;
import net.kdh.knieja.model.wspolne.wyjatki.Wyjatek;

/**
 *
 * @author rz.marcin@gmail.com
 */
public class Narzedzia {
    private static Random rand = new Random(Calendar.getInstance().getTimeInMillis());
    
    public static String losujId() {
        return losujId(9);
    }
    
    public static String losujId(int dlugosc) {
       String los= String.valueOf(rand.nextInt(8)+1);
       for(int i = dlugosc>0 ? 1 : dlugosc - 8; i<dlugosc; i++)
           los+=rand.nextInt(9);
        System.out.println(los);
       return los.toString();
    }
    
    public static String generujMD5(Object input) {
        MessageDigest mDigest = null;
        try {
            mDigest = MessageDigest.getInstance("MD5");
        }
        catch (NoSuchAlgorithmException ex) {
            //nie bedzie takiego wyjątku
        }
        byte[] result = mDigest.digest(input.toString().getBytes());
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < result.length; i++) {
            sb.append(Integer.toString((result[i] & 0xff) + 0x100, 16).substring(1));
        }
        return sb.toString();
    }
    
    public static String generujToken() {
        byte[] bToken = new byte[25];
        rand.nextBytes(bToken);
        String s ="";
        for(int i : bToken) {
            i+=128;
            i%=78;
            i+=48;
            s+=(char)i;
        }
        return s;
    }
}
